/* eslint-disable func-style */
/* eslint-disable max-len */
/* eslint-disable require-jsdoc */
function addBlocks (Blockly) {
    const QH_Sensor_color = '#27b6ac';
    const QH_Actuator_color = '#AE8F00';
    const QH_SPEECH_color1 = '#ae8f00';
    const QH_SPEECH_color2 = '#5ba5a5';
    const QH_SPEECH_color3 = '#a5675b';
    const QH_SPEECH_color4 = '#e386a1';
    const QH_COMMUNICATE_color1 = '#6c91ac';
    const QH_COMMUNICATE_color2 = '#27b6ac';
    const QH_COMMUNICATE_color3 = '#5b5b5b';
    const QH_MP3_color = '#b766ad';
    const QH_SMG_COLOR = '#ae8f00';
    const QH_OLED_COLOR = '#e36a69';
    const QH_SDISPLAY_COLOR = '#a5855b';
    const QH_LCD_COLOR = '#5ba5a5';
    const QH_ZKP_COLOR = '#6495ed';
    const QH_OTHER_COLOR = '#808080';


    const QH_yssb_delay = [["700", "700"],["2.4", "2_4"],["24", "24"],["50", "50"],["101", "101"],["154", "154"]];
    const QH_yssb_gain = [["1", "1"],["4", "4"],["16", "16"],["60", "60"]];

    const QH_TONE_NOTES = [["NOTE_C3", "131"],["NOTE_D3", "147"],["NOTE_E3", "165"],["NOTE_F3", "175"],["NOTE_G3", "196"],["NOTE_A3", "220"],["NOTE_B3", "247"],
           ["NOTE_C4", "262"],["NOTE_D4", "294"],["NOTE_E4", "330"],["NOTE_F4", "349"],["NOTE_G4", "392"],["NOTE_A4", "440"],["NOTE_B4", "494"],
           ["NOTE_C5", "532"],["NOTE_D5", "587"],["NOTE_E5", "659"],["NOTE_F5", "698"],["NOTE_G5", "784"],["NOTE_A5", "880"],["NOTE_B5", "988"]];
    const QH_TONE_TONE_MUSIC = [["music1", "1"],["music2", "2"],["music3", "3"],["music4", "4"],["music5", "5"],["music6", "6"],["music7", "7"],["music8", "8"],["music9", "9"],["music10", "10"],];
    const QH_ROBOT_PWMPCB=[["B0", "0"],["B1", "1"],["B2", "2"],["B3", "3"],["B4", "4"],["B5", "5"],["B6", "6"],["B7", "7"],["B8", "8"],["B9", "9"],["B10", "A"],["B11", "B"],["B12", "C"],["B13", "D"],["B14", "E"],["B15", "F"]];
    var QH_Voice_Dropdown = [
  ['欢迎使用','0'],
  ['您好','1'],
  ['已打开','2'],
  ['已关闭','3'],
  ['彩灯','4'],
  ['LED','5'],
  ['红灯','6'],
  ['绿灯','7'],
  ['黄灯','8'],
  ['蓝色','9'],
  ['按钮按下','10'],
  ['按钮释放','11'],
  ['表演','12'],
  ['蜂鸣器关闭','13'],
  ['显示','14'],
  ['开始','15'],
  ['停止','16'],
  ['播报','17'],
  ['0','18'],
  ['1','19'],
  ['2','20'],
  ['3','21'],
  ['4','22'],
  ['5','23'],
  ['6','24'],
  ['7','25'],
  ['8','26'],
  ['9','27'],
  ['十','28'],
  ['百','29'],
  ['千','30'],
  ['万','31'],
  ['点','32'],
  ['红外发射成功','33'],
  ['红外信号已接收','34'],
  ['电位器的值','35'],
  ['光线强度','36'],
  ['音量','37'],
  ['太吵了,请安静','38'],
  ['X轴','39'],
  ['Y轴','40'],
  ['平衡','41'],
  ['上午','42'],
  ['下午','43'],
  ['晚上','44'],
  ['时','45'],
  ['分','46'],
  ['秒','47'],
  ['度','48'],
  ['温度','49'],
  ['摄氏度','50'],
  ['湿度','51'],
  ['过高','52'],
  ['过低','53'],
  ['环境干燥','54'],
  ['环境湿润','55'],
  ['当前','56'],
  ['障碍物','57'],
  ['请注意','58'],
  ['安全','59'],
  ['危险','60'],
  ['谢谢','61'],
  ['加油，加油！','62'],
  ['吓死宝宝了','63'],
  ['通信故障','64'],
  ['连接上了','65'],
  ['正','66'],
  ['负','67'],
  ['上','68'],
  ['下','69'],
  ['左','70'],
  ['右','71'],
  ['你','72'],
  ['我','73'],
  ['他','74'],
  ['看好你哦！','75'],
  ['厘米','76'],
  ['音效1','77'],
  ['音效2','78'],
  ['音效3','79'],
  ['音效4','80'],
  ['音效5','81'],
  ['音效6','82'],
  ['音效7','83'],
  ['音效8','84'],
  ['音效9','85']
  ];
    const QH_ASR_keyword_dropdown2 =[
["唤醒","starton"],
["退出识别","startoff"],
["静音模式","soundoff"],
["回应模式","soundon"],
["打开设备/打开1号/开始1号","openequipment"],
["关闭设备/关闭1号/停止1号","closeequipment"],
["开灯/把灯打开/打开2号/开始2号","turnon2"],
["关闭2号/停止2号/关灯/关闭灯光","turnoff2"],
["打开3号/开启3号/开始3号","turnon3"],
["关闭3号/停止3号","turnoff3"],
["打开4号/开始4号","turnon4"],
["关闭4号/停止4号","turnoff4"],
["打开5号/开始5号","turnon5"],
["关闭5号/停止5号","turnoff5"],
["打开6号/开始6号","turnon6"],
["关闭6号/停止6号","turnoff6"]
];

const QH_ASR_keyword_dropdown =[
["退下/再见","ExitUni"],
["静音模式","soundoff"],
["回应模式","soundon"],
["打开设备/打开1号/开始1号","openequipment"],
["关闭设备/关闭1号/停止1号","closeequipment"],
["开灯/把灯打开/打开2号/开始2号","turnon2"],
["关闭2号/停止2号/关灯/关闭灯光","turnoff2"],
["打开3号/开启3号/开始3号","turnon3"],
["关闭3号/停止3号","turnoff3"],
["打开4号/开始4号","turnon4"],
["关闭4号/停止4号","turnoff4"],
["打开5号/开始5号","turnon5"],
["关闭5号/停止5号","turnoff5"],
["打开6号/开始6号","turnon6"],
["关闭6号/停止6号","turnoff6"],
["现在温度/今天温度","temperaturenow"],
["现在湿度/显示湿度","humiditynow"],
["你叫什么名字","myname"],
["左转/左转弯","leftturn"],
["右转/右转弯","rightturn"],
["前进/直行/进攻/出发","goforward"],
["后退/倒退/倒车","drawback"],
["停止/停了","stoprun"],
["打转/转圈","turnaround"],
["抬左手/举起左手","raisedlefthand"],
["抬右手/举起右手","raisedrighthand"],
["抬左脚/举起左脚","leftfoot"],
["抬右脚/举起右脚","rightfoot"],
["打开风扇","openElectricfan"],
["关闭风扇","closElectricfan"],
["风扇调到1档/风速调到最小","AdjustGearmin"],
["风扇调到3档/风速调到最大","AdjustGearmax"],
["定时一小时关灯","settiCLonehonor"],
["定时一小时开灯","settiOPonehonor"],
["打开空调","openairconditioner"],
["关闭空调","closeairconditioner"],
["自动模式","runautomatically"],
["制冷模式","coolingmode"],
["制热模式","heatingmode"],
["升高温度","raisetemperature"],
["降低温度","reducetemperature"],
["打开电视","turnontv"],
["关闭电视","turnofftv"],
["调到最亮","setmaxld"],
["调到最暗","setminld"],
["亮一点/增加亮度","increasebrightness"],
["调暗一点/减小亮度","reducebrightness"],
["灯调为红色/红色","setcolorred"],
["打开电源","turnonpower"],
["关闭电源","turnoffpower"],
["打开暖气","theheater"],
["关闭暖气","shutdownheat"],
["打开吹风","openblowing"],
["关闭吹风","closeblowing"],
["开始出水","thewater"],
["停止出水","closewater"],
["保温模式","heatpreservationmode"],
["打开开关","turnonswitch"],
["关闭开关","turnoffswitch"],
["温度设置为25度","tempSet25"],
["垃圾分类","garbageclassification"],
["干垃圾","drygarbage"],
["湿垃圾","wetgarbage"],
["玻璃","thisglass"],
["厨卫垃圾","hutchdefends"],
["废纸","wastepaper"],
["电池","thebattery"],
["塑料","theplastic"],
["金属","themetal"],
["打开客厅灯","turnonlivingroomlight"],
["关闭客厅灯","turnofflivingroomlight"],
["打开房间灯","turnonroomlight"],
["关闭房间灯","turnoffroomlight"],
["打开主卧灯","masterbedroomlight"],
["关闭主卧灯","offmasterbedroomlight"],
["打开阳台灯","turnonbalconylight"],
["关闭阳台灯","turnoffbalconylight"]
];

const QH_smgxs=[["auto", "auto"],["1", "1"],["2", "2"],["3", "3"]];

  const QH_Button_ICO ='';

  const QH_UltraSonicDistanceSensor_ICO = '';
    
  const QH_Line_follower_ICO = '';

  const QH_lightSensor_ICO = "";

  const QH_sound_ICO = "";

  const QH_Potentiometer_ICO = "";

  const QH_joystick_ICO = "";

  const QH_Soilmoisture_ICO = "";

  const QH_dht11_ICO = "";

  const QH_yssb_ICO = "";

  const QH_MPU6050_ICO = "";

  const QH_LED_ICO = "";

  const QH_RELAY_ICO = "";

  const QH_RGB_ICO = "";

  const QH_BUZZER_ICO = ""

  const QH_MOTOR_ICO = "";

  const QH_SPEECH_ICO = "";

  const QH_MICROPHONE_ICO = "";

  const QH_REMOTE_ICO = "";

  const QH_BLUETOOTH_ICO = "";

  const QH_SERIAL_ICO = "";

  const QH_MP3_ICO = "";

  const QH_SMG_ICO = "";

  const QH_SDISPLAY_ICO = "";

  const QH_JPG1 = "";

  const QH_JPG2 = "";

  const QH_JPG3 = "";

  const QH_JPG4 = "";

  const QH_JPG5 = "";

  const QH_JPG6 = "";

  const QH_JPG7 = "";

  const QH_JPG8 = "";

  const QH_JPG9 = "";

  const QH_JPG10 = "";

  const QH_JPG11 = "";

  const QH_JPGLOGO = "";

  const QH_ZKP_ICO = "";

  const QH_OLED_ICO = "";

  const QH_ANGRY_ICO = "";

  const QH_AWAKE_ICO = "";

  const QH_BLACK_EYE_ICO = "";

  const QH_BOTTOM_LEFT_ICO = "";

  const QH_BOTTOM_RIGHT_ICO = "";

  const QH_CRAZY1_ICO = "";

  const QH_CRAZY2_ICO = "";

  const QH_DISAPPOINTED_ICO = "";

  const QH_DIZZY_ICO = "";

  const QH_DOWN_ICO = "";

  const QH_EVIL_ICO = "";

  const QH_HURT_ICO = "";

  const QH_KNOCKED_OUT_ICO = "";

  const QH_LOVE_ICO = "";

  const QH_Middle_LEFT_ICO = "";

  const QH_Middle_RIGHT_ICO = "";

  const QH_NEUTRAL_ICO = "";

  const QH_NUCLEAR_ICO = "";

  const QH_PINCH_LEFT_ICO = "";

  const QH_PINCH_MIDDLE_ICO = "";

  const QH_PINCH_RIGHT_ICO = "";

  const QH_TEAR_ICO = "";

  const QH_TIRED_LEFT_ICO = "";

  const QH_TIRED_MIDDLE_ICO = "";

  const QH_TIRED_RIGHT_ICO = "";

  const QH_TOXIC_ICO = "";

  const QH_UP_ICO = "";

  const QH_WINKING_ICO = "";



    QH_C01_PIN = [["P1 (R10-L11)", "1"],["P3 (R13-L12)", "3"],["P6 (RA3-LA2)", "6"],["P7 (RA1)", "7"],["P8 (RA0)", "8"]];
    QH_C01_PIN2 = [["P6 (RA3-LA2)", "6"],["P7 (RA1-LA6)", "7"],["P8 (RA0-LA7)", "8"]];
    QH_C01_PIN3 = [["P6 (LA2)", "6"],["P7 (LA6)", "7"],["P8 (LA7)", "8"]];
    QH_C01_PIN4 = [["P6 (RA3)", "6"],["P7 (RA1)", "7"],["P8 (RA0)", "8"]];
    QH_OUTPUT_BOTH_PIN = [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"],["P6 (RA3-LA2)", "6"]];
    QH_OUTPUT_RIGHT_PIN = [["P1 (R10)", "1"],["P2 (R9)", "2"],["P3 (R13)", "3"],["P4 (R8)", "4"],["P6 (RA3)", "6"],["P7 (RA1)", "7"],["P8 (RA0)", "8"],];
    QH_BUZZER_PIN = [["P1 (R10)", "1"],["P3 (R13)", "3"],["P6 (RA3)", "6"]];
    QH_MOTOR_PIN = [["M1 (DIR7-SPEED6-ENCODER3)", "1"],["M2 (DIR4-SPEED5-ENCODER2)", "2"]];
    UNO_PIN = [['0','0'],['1','1'],['2','2'],['3','3'],['4','4'],['5','5'],['6','6'],['7','7'],['8','8'],['9','9'],['10','10'],['11','11'],['12','12'],['13','13'],['A0','A0'],['A1','A2'],['A3','A3'],['A4','A4'],['A5','A5']];
    QH_SOFTWARESERIAL_PIN = [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"],["P5 (R0-L1)", "5"]];
    QH_IR_PIN = [["P1 (R10)", "1"],["P2 (R9)", "2"],["P4 (R8)", "4"],["P6 (RA3)", "6"]];
    //按钮
    Blockly.Blocks.QH_button_general = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BUTTON_GENERAL,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Button_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_C01_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'mode',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    }
                ],
                "tooltip": "常开按钮开关，按下为输入，\n注意左按钮在P7/8时无效",
                colour: QH_Sensor_color,
                extensions: ['output_boolean']
            });
        }
    };
    //双按钮
    Blockly.Blocks.QH_button_both = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BUTTON_BOTH,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Button_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_C01_PIN
                    }
                ],
                "tooltip": "常开按钮开关，按下为输入，\n按左或右相同效果",
                colour: QH_Sensor_color,
                extensions: ['output_boolean']
            });
        }
    };
    //启用多功能按钮
    Blockly.Blocks.QH_buttonfuction_init = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BUTTONFUCTION_INIT,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Button_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_C01_PIN
                    }
                ],
                "tooltip": "开启钮的多功能，必须在使用“多功能按钮”前先使用此块定义，\n相当于多功能的开关",
                colour: QH_Sensor_color,
                extensions: ['shape_statement']
            });
        }
    };
    //多功能按钮
    Blockly.Blocks.QH_buttonfuction_do = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BUTTONFUCTION_DO,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Button_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_C01_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN2',
                        options: [
                        [(Blockly.Msg.QH_BUTTONSingleClick),"0"],
                        [(Blockly.Msg.QH_BUTTONDoubleClick), "1"],
                        [(Blockly.Msg.QH_BUTTONTripleClick),"2"],
                        [(Blockly.Msg.QH_BUTTONSingleLongClick),"3"],
                        [(Blockly.Msg.QH_BUTTONDoubleLongClick),"4"],
                        [(Blockly.Msg.QH_BUTTONTripleLongClick),"5"]
                        ]
                    }
                ],
                "tooltip": "与按钮功能相同，只是启动这个功能后按法不一样，\n使用前要加“启用多功能按钮“块",
                colour: QH_Sensor_color,
                extensions: ['output_boolean']
            });
        }
    };

    Blockly.Blocks.QH_UltraSonicDistanceSensor = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_UltraSonicDistanceSensor,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_UltraSonicDistanceSensor_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_C01_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN2',
                        options: [["cm", "Cm"],["inch", "inch"]]
                    }
                ],
                "tooltip": "超声波测距，注意单位的选择，\n使用时如果波动大请注意检查程序或放宽取值区间",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //巡线
    Blockly.Blocks.QH_Line_follower = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_LINE_FOLLOWER,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Line_follower_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_C01_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'state1',
                        options: [["ON", "1"],["OFF", "0"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'state2',
                        options: [["ON", "1"],["OFF", "0"]]
                    }
                ],
                "tooltip": "左右感应器对白色物体约2CM时有输入(亮灯),\n相反对黑色物体不作反应，通常用来区分白黑",
                colour: QH_Sensor_color,
                extensions: ['output_boolean']
            });
        }
    };
    //光线
    Blockly.Blocks.QH_lightSensor = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_LIGHTSENSOR,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_lightSensor_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_C01_PIN4
                    }
                ],
                "tooltip": "对光线强弱的感应，返回对应的模拟数值，\n亮数值变大，暗数值变小",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //声音
    Blockly.Blocks.QH_sound = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_SOUND,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_sound_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_C01_PIN3
                    }
                ],
                "tooltip": "对声音大小的感应，返回对应的模拟数值，\n周边噪声大值变大，相反变小",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
     //电位器
    Blockly.Blocks.QH_Potentiometer = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_POTENTIOMETER,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Potentiometer_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_C01_PIN2
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    }
                ],
                "tooltip": "读取电位器的模拟阻值",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //遥杆初始化
    Blockly.Blocks.QH_joystick_initialization = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_JOYSTICK_INITIALIZATION,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_joystick_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'port',
                        options: [["P6 (RA3-LA2)","A3,A2"], ["P7 (RA1-LA6)","A1,A6"], ["P8 (RA0-LA7)","A0,A7"]]
                    }
                ],
                "tooltip": "摇杆初始化",
                colour: QH_Sensor_color,
                extensions: ['shape_statement']
            });
        }
    };
    //遥杆获取参数
    Blockly.Blocks.QH_get_the_joystick_value = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_GET_THE_JOYSTICK_VALUE,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_joystick_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'mode',
                        options: [[Blockly.Msg.QH_ANGLE,"0"], [Blockly.Msg.QH_VALUE,"1"]]
                    }
                ],
                "tooltip": "获取摇杆的值",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //土壤湿度
    Blockly.Blocks.QH_Soilmoisture = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_Soilmoisture,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_Soilmoisture_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [["P6 (RA3-LA2)","6"], ["P7 (RA1-LA6)","7"], ["P8 (RA0-LA7)","8"]]
                    }
                ],
                "tooltip": "土壤湿度传感器的模拟数值",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //温湿度
    Blockly.Blocks.QH_dht11 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_dht11,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_dht11_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [["P1 (L11)","1"], ["P3 (L12)","3"], ["P6 (LA2)","6"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'WHAT',
                        options: [[Blockly.Msg.QH_Temperature,"Temperature"], [Blockly.Msg.QH_Humidity,"Humidity"]]
                    }
                ],
                "tooltip": "读取传感器的摄氏温度值及相对湿度",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //颜色识别初始化
    Blockly.Blocks.QH_yssb_init = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_yssb_init,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_yssb_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: QH_yssb_delay
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN2',
                        options: QH_yssb_gain
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN3',
                        options: [[Blockly.Msg.QH_noPrint,"0"], [Blockly.Msg.QH_Print,"1"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    }                     
                ],
                "tooltip": "启用颜色识别的初始化必要块，通过打印值得到对应的参数，实际运行时关闭打印功能，否则会干扰别的串口或IIC模块输出冲突。",
                colour: QH_Sensor_color,
                extensions: ['shape_statement']
            });
        }
    };
    //颜色识别获取
    Blockly.Blocks.QH_yssb_get = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_yssb_get,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_yssb_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [["R", "r"],["G", "g"],["B", "b"],["C", "c"],["colorTemp", "colorTemp"],["lux", "lux"]]
                    }
                ],
                "tooltip": "颜色传感器读取的对应值变量",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //颜色对比
    Blockly.Blocks.QH_yssb_compare = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_yssb_compare,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_yssb_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [["R", "r"],["G", "g"],["B", "b"],["C", "c"],["colorTemp", "colorTemp"],["lux", "lux"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },  
                    {
                        type: 'input_value',
                        name: 'num2'
                    }  
                ],
                "tooltip": "颜色传感器的值的应用",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //陀螺仪更新数据
    Blockly.Blocks.QH_MPU6050_update = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MPU6050_update,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MPU6050_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    
                ],
                "tooltip": "初始化陀螺仪,用在读取值前,只用一次即可",
                colour: QH_Sensor_color,
                extensions: ['shape_statement']
            });
        }
    };
    //偏航检测复位
    Blockly.Blocks.QH_MPU6050_yaw_reset = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MPU6050_yaw_reset,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MPU6050_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    
                ],
                "tooltip": "校准偏航角",
                colour: QH_Sensor_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MPU6050-获取数据
    Blockly.Blocks.QH_MPU6050_GETDATA = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MPU6050_GETDATA,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MPU6050_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'MPU6050_TYPE',
                        options: [
                        [Blockly.Msg.QH_Accel_X, "normAccel.XAxis"], 
                        [Blockly.Msg.QH_Accel_Y, "normAccel.YAxis"], 
                        [Blockly.Msg.QH_Accel_Z, "normAccel.ZAxis"],
                        [Blockly.Msg.QH_Gyro_X, "normGyro.XAxis"],
                        [Blockly.Msg.QH_Gyro_Y, "normGyro.YAxis"],
                        [Blockly.Msg.QH_Gyro_Z, "normGyro.ZAxis"],
                        [Blockly.Msg.QH_readTempC, "mpu.readTemperature()"],
                        [Blockly.Msg.QH_MPU6050_readYaw, "readYaw"],
                        [Blockly.Msg.QH_gyro_pitch,"(atan2(normAccel.YAxis, normAccel.ZAxis)*180.0)/M_PI"],
                        [Blockly.Msg.QH_gyro_roll,"-(atan2(normAccel.XAxis, sqrt(normAccel.YAxis*normAccel.YAxis + normAccel.ZAxis*normAccel.ZAxis))*180.0)/M_PI"]
                        ]
                    }
                ],
                "tooltip": "陀螺仪获取数据",
                colour: QH_Sensor_color,
                extensions: ['output_number']
            });
        }
    };
    //MPU6050-动作检测更新数据
    Blockly.Blocks.QH_MPU6050_MOTION_update = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MPU6050_MOTION_update,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MPU6050_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    
                ],
                "tooltip": "陀螺仪动作检测更新数据",
                colour: QH_Sensor_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MPU6050-获取数据
    Blockly.Blocks.QH_MPU6050_MOTION_GETDATA = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MPU6050_MOTION_GETDATA,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MPU6050_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'MPU6050_TYPE',
                        options: [
                        [Blockly.Msg.QH_gyro_isActivity, "act.isActivity"], 
                        [Blockly.Msg.QH_gyro_isInactivity, "act.isInactivity"], 
                        [Blockly.Msg.QH_gyro_isPosActivityOnX, "act.isPosActivityOnX"],
                        [Blockly.Msg.QH_gyro_isNegActivityOnX, "act.isNegActivityOnX"],
                        [Blockly.Msg.QH_gyro_isPosActivityOnY, "act.isPosActivityOnY"],
                        [Blockly.Msg.QH_gyro_isNegActivityOnY, "act.isNegActivityOnY"],
                        [Blockly.Msg.QH_gyro_isPosActivityOnZ, "act.isPosActivityOnZ"],
                        [Blockly.Msg.QH_gyro_isNegActivityOnZ,"act.isNegActivityOnZ"]
                        ]
                    }
                ],
                "tooltip": "陀螺仪动作检测获取数据",
                colour: QH_Sensor_color,
                extensions: ['output_boolean']
            });
        }
    };
    //high low
    Blockly.Blocks.QH_inout_highlow = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                args0: [
                    {
                        type: 'field_dropdown',
                        name: 'BOOL',
                        options: [
                        ['HIGH', "HIGH"], 
                        ['LOW', "LOW"]
                        ]
                    }
                ],
                "tooltip": "状态选单 高/低",
                colour: QH_Actuator_color,
                extensions: ['output_boolean']
            });
        }
    };
    //LED灯
    Blockly.Blocks.QH_ledlight = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ledlight,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_LED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_OUTPUT_BOTH_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    },
                    {
                        type: 'input_value',
                        name: 'STATE'
                    }
                ],
                "tooltip": "开启LED灯",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //读取LED灯状态
    Blockly.Blocks.QH_read_ledlight = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_read_ledlight,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_LED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_OUTPUT_BOTH_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    }
                ],
                "tooltip": "读取LED灯状态",
                colour: QH_Actuator_color,
                extensions: ['output_boolean']
            });
        }
    };
    //LED灯亮度
    Blockly.Blocks.QH_ledlight_PWM = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ledlight_PWM,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_LED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_OUTPUT_BOTH_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    },
                    {
                        type: 'input_value',
                        name: 'ledn'
                    }
                ],
                "tooltip": "LED灯亮度调节",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //继电器
    Blockly.Blocks.QH_relay = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_relay,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_RELAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [['P1 (R10-L11)','1'],['P2 (R9-L3)','2']]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    },
                    {
                        type: 'input_value',
                        name: 'STATE'
                    }
                ],
                "tooltip": "继电器输出",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //读取继电器状态
    Blockly.Blocks.QH_read_relay = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_read_relay,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_RELAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_OUTPUT_BOTH_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: [
                            [Blockly.Msg.QH_LEFT, '0'],
                            [Blockly.Msg.QH_RIGHT, '1']
                            ]
                    }
                ],
                "tooltip": "读取继电器状态",
                colour: QH_Actuator_color,
                extensions: ['output_boolean']
            });
        }
    };
    //RGB
    Blockly.Blocks.QH_rgb_led = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_rgb_led,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_RGB_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_OUTPUT_RIGHT_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'num8'
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'input_value',
                        name: 'R'
                    },
                    {
                        type: 'input_value',
                        name: 'G'
                    },
                    {
                        type: 'input_value',
                        name: 'B'
                    }
                ],
                "tooltip": "RGB对应灯号颜色的值，灯号共4个，总灯数跟模块灯数相同，0为全部同时工作\n对应的值是代表第几个灯的，最大255，0为关",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //蜂鸣器
    Blockly.Blocks.QH_buzzer = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_buzzer,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_BUZZER_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_BUZZER_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN2',
                        options: QH_TONE_NOTES
                    },
                    {
                        type: 'input_value',
                        name: 'DURATION'
                    }
                ],
                "tooltip": "蜂鸣器的发音设置，频率不同时发音不一样，时间为发音的持续时间",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //蜂鸣器音乐
    Blockly.Blocks.QH_buzzer_music = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_buzzer_music,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_BUZZER_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_BUZZER_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN2',
                        options: QH_TONE_TONE_MUSIC
                    }
                ],
                "tooltip": "对应播放系统内音乐，直到自动播完",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //直流电机
    Blockly.Blocks.QH_motor = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_motor,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_MOTOR_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'speed'
                    }
                ],
                "tooltip": "5~8V直流电机在M1-M2口上的控制，旋转速度通过0~255来控制，\n负数为反转，0为停止，工作时间通过延时指令来控制\n当电机受外部机构卡死时，会内部保护停机，这时重启电源即可\n 一定要开启电源开关，不然电机不转.",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //编码电机
    Blockly.Blocks.QH_code_motor = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_code_motor,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pim',
                        options: QH_MOTOR_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options: [[(Blockly.Msg.QH_Donotinterrupt), "1"],[(Blockly.Msg.QH_Interruptible), "0"]]
                    },
                    {
                        type: 'input_value',
                        name: 'speed1'
                    },
                    {
                        type: 'input_value',
                        name: 'speed2'
                    },
                    {
                        type: 'input_value',
                        name: 'speed3'
                    },
                    {
                        type: 'input_value',
                        name: 'speed4'
                    }

                ],
                "tooltip": '编码电机状态在M1-M2上，此时P2-P3不要接双脚位控制或双反馈的传感器及执行器(按软件指示接)\n"中断"是指在运行时可否会接着走下一指令还是等这一指令走完再走下一指令，"脉冲数"是指转动总的信号个数\n如:一圈给200个信号，那么输入200就是指转一圈,使用时多测试这个值，"减速脉冲数"是指最后指定一些脉冲可以用来执行另一个速度,\n当电机受外部机构卡死时，会内部保护停机，这时重启电源即可\n 一定要开启电源开关，不然电机不转.',
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //编码电机
    Blockly.Blocks.QH_code_motor_read = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_code_motor_read,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_MOTOR_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options: [[(Blockly.Msg.QH_servomotorstate1), "1"],[(Blockly.Msg.QH_servomotorstate2), "0"]]
                    }
                ],
                "tooltip": '编码电机的当前状态，当在运行时值为1，运行完成时为0',
                colour: QH_Actuator_color,
                extensions: ['output_boolean']
            });
        }
    };
    //舵机360
    Blockly.Blocks.QH_servomotor360 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotor360,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: QH_OUTPUT_RIGHT_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'DIR',
                        options: [[Blockly.Msg.QH_CW,'1'],[Blockly.Msg.QH_CCW,'0'],]
                    },
                    {
                        type: 'input_value',
                        name: 'speed'
                    }
                ],
                "tooltip": "舵机,注意选择对应的舵机类型0~360度,不建议长时间运行！\n",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //舵机180
    Blockly.Blocks.QH_servomotor180 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotor180,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_OUTPUT_RIGHT_PIN
                    },                   
                    {
                        type: 'input_value',
                        name: 'speed'
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'wait',
                        options: [[(Blockly.Msg.QH_Donotinterrupt), "1"],[(Blockly.Msg.QH_Interruptible), "0"]]
                    }
                ],
                "tooltip": "舵机,注意选择对应的舵机类型0~180度,不建议长时间运行！\n",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //舵机180
    Blockly.Blocks.QH_servomotorread = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotorread,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_OUTPUT_RIGHT_PIN
                    }
                ],
                "tooltip": "舵机,注意选择对应的舵机类型0~180度,不建议长时间运行！\n",
                colour: QH_Actuator_color,
                extensions: ['output_number']
            });
        }
    };
    //舵机板设置参数180
    Blockly.Blocks.QH_servomotorPWM_set180 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotorPWM_set180,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_ROBOT_PWMPCB
                    },
                    {
                        type: 'input_value',
                        name: 'param1'
                    },
                    {
                        type: 'input_value',
                        name: 'param2'
                    }
                ],
                "tooltip": "舵机板类型0~180度舵机参数初始块，默认值为180度用，用户可以进行微调\n",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //舵机板180设置角度
    Blockly.Blocks.QH_servomotorPWM = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotorPWM,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_ROBOT_PWMPCB
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    }
                ],
                "tooltip": "舵机板I2C接口地址,一个板可以接16个舵机,编号0~15,可以并联16个板,外接电源5~6V,当角度设置为负的时候为停止.注意选择对应的舵机类型0~180度,使用前要放一个180参数设置块初始化\n",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //舵机板设置参数360
    Blockly.Blocks.QH_servomotorPWM_set360 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotorPWM_set360,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_ROBOT_PWMPCB
                    },
                    {
                        type: 'input_value',
                        name: 'S_param'
                    },
                    {
                        type: 'input_value',
                        name: 'CW_L_param'
                    },
                    {
                        type: 'input_value',
                        name: 'CW_H_param'
                    },
                    {
                        type: 'input_value',
                        name: 'CCW_L_param'
                    },
                    {
                        type: 'input_value',
                        name: 'CCW_H_param'
                    }
                ],
                "tooltip": "舵机板类型0~36度舵机参数初始块，默认值为360度用，用户可以进行微调\n",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //舵机板360度
    Blockly.Blocks.QH_servomotorPWM360 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_servomotorPWM360,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MOTOR_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: QH_ROBOT_PWMPCB
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin3',
                        options: [[Blockly.Msg.QH_CW,'1'],[Blockly.Msg.QH_CCW,'0'],]
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    }
                ],
                "tooltip": "舵机板I2C接口地址,一个板可以接16个舵机,号0~15,速度为0的时候为停止.可以并联16个板,外接电源5~6V,注意选择对应的舵机类型0~360度,不建议长时间运行！使用前要放一个360度参数设置块初始化\n",
                colour: QH_Actuator_color,
                extensions: ['shape_statement']
            });
        }
    };
    //语音模块
    Blockly.Blocks.QH_Voice = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_Voice,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: UNO_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'addr',
                        options: QH_Voice_Dropdown
                    },
                    {
                        type: 'input_value',
                        name: 'delayTime'
                    }
                ],
                "tooltip": "适用于QH-ASR语音合成模块",
                colour: QH_SPEECH_color1,
                extensions: ['shape_statement']
            });
        }
    };
     //语音模块
    Blockly.Blocks.QH_VoicePlayValue = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_VoicePlayValue,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: UNO_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'addr'
                    }
                ],
                "tooltip": "适用于QH-ASR语音合成模块，用于播放数字(整数、浮点)变量和常量，播放时会产生阻塞。",
                colour: QH_SPEECH_color1,
                extensions: ['shape_statement']
            });
        }
    };
    //语音识别发送数据
    Blockly.Blocks.QH_ASR_SendData = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ASR_SendData,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'keyword',
                        options: QH_ASR_keyword_dropdown2
                    }
                ],
                "tooltip": "发送指令控制语音模块相关IO动作，输出高电平5V",
                colour: QH_SPEECH_color2,
                extensions: ['shape_statement']
            });
        }
    };
    //语音识别接收
    Blockly.Blocks.QH_ASR_ReceiveData = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ASR_ReceiveData,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    }
                ],
                "tooltip": "初始化定义模块端口,模块唤醒词：小齐小齐、小护小护、你好齐护、齐护机器人、齐护齐护，并亮起识别状态灯,\n其中识别词：音量增大/提高音量/增大音量/加大音量/减小音量/音量减小/最大音量/最小音量 为模块内部音量控制，不带输出。",
                colour: QH_SPEECH_color2,
                extensions: ['shape_statement']
            });
        }
    };
    //语音识别接收
    Blockly.Blocks.QH_ASR_CompareData = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ASR_CompareData,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'keyword',
                        options: QH_ASR_keyword_dropdown
                    }
                ],
                "tooltip": "当接收到对应的语音指令时",
                colour: QH_SPEECH_color2,
                extensions: ['output_number']
            });
        }
    };
    //QF合成
    Blockly.Blocks.QH_QF_hc = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_hc,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN33',
                        options: [['女音1', "[m3]"],['男音1', "[m51]"],['男音2', "[m52]"],['女音2', "[m53]"],['唐老鸭', "[m54]"],['女童声', "[m55]"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN44',
                        options: [[(Blockly.Msg.QH_Donotinterrupt), "1"],[(Blockly.Msg.QH_Interruptible), "0"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num3'
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT'
                    }
                ],
                "tooltip": '不支持变量，可以直接输入中英文，拼音，标点可以使读音间断\n'
                           +'“等待完成“是指在合成发音完后才执行下一指令，否则是同时执行下一指令，注意其它参数及发音人的选择\n'
                           +'此为串口运行设备，如多串口设备运行，运行前要加“软串口定义到”块指令进行切换串口',
                colour: QH_SPEECH_color3,
                extensions: ['shape_statement']
            });
        }
    };
    //QF合成变量英文
    Blockly.Blocks.QH_QF_hc_en = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_hc,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN33',
                        options: [['女音1', "[m3]"],['男音1', "[m51]"],['男音2', "[m52]"],['女音2', "[m53]"],['唐老鸭', "[m54]"],['女童声', "[m55]"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN44',
                        options: [[(Blockly.Msg.QH_Donotinterrupt), "1"],[(Blockly.Msg.QH_Interruptible), "0"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num3'
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT'
                    }
                ],
                "tooltip": "只支持英文和变量",
                colour: QH_SPEECH_color3,
                extensions: ['shape_statement']
            });
        }
    };
    //QF提示音
    Blockly.Blocks.QH_QF_sound = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_sound,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [['信息声', "1"],['铃声', "2"],['警报声', "3"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    }
                ],
                "tooltip": "此为串口运行设备,合成模块中发出指定的提示音,注:编号一定要为两位的数值,个位数时要加0\n可以用“停止合成”块终止它",
                colour: QH_SPEECH_color3,
                extensions: ['shape_statement']
            });
        }
    };
    //QF停止合成
    Blockly.Blocks.QH_QF_stophc = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_stophc,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SPEECH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    }
                ],
                "tooltip": '此为串口运行设备,功能融合在合成模块内（同一模块内），\n只能识别到系统烧录的指定出厂30个的指令，指令如要自定义\n'
                                  +'请用套件中提供的软件按要求设定，可以直接输入中英文，拼音，标点可以使读音间断，\n'
                                  +'在“语音结果”块的前面使用并在同一运行块内\n“说出结果“是指说出识别到的语句',
                colour: QH_SPEECH_color3,
                extensions: ['shape_statement']
            });
        }
    };
    //QF启动识别
    Blockly.Blocks.QH_QF_startstopsb = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_startstopsb,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MICROPHONE_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN33',
                        options: [[(Blockly.Msg.QH_Sayresult),"1"],[(Blockly.Msg.QH_NoSayresult), "0"]]
                    }
                ],
                "tooltip": '此为串口运行设备,功能融合在合成模块内（同一模块内），\n只能识别到系统烧录的指定出厂30个的指令，指令如要自定义\n'
                                  +'请用套件中提供的软件按要求设定，可以直接输入中英文，拼音，标点可以使读音间断，\n'
                                  +'在“语音结果”块的前面使用并在同一运行块内\n“说出结果“是指说出识别到的语句',
                colour: QH_SPEECH_color4,
                extensions: ['shape_statement']
            });
        }
    };
    //QF识别结果
    Blockly.Blocks.QH_QF_sbjg = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_sbjg,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MICROPHONE_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT'
                    }
                ],
                "tooltip": "请输入模块预设(烧录)的相关词组,如果非二次开发必须采用出厂词组相同，当识别到相同的结果时执行，在“开启语音识别”块的后面使用并在同一运行块内",
                colour: QH_SPEECH_color4,
                extensions: ['output_boolean']
            });
        }
    };
    //QF识别结果2
    Blockly.Blocks.QH_QF_sbjg2 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_QF_sbjg,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MICROPHONE_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pinn2',
                        options: [["把灯打开", "把灯打开"],["关闭灯", "关闭灯"],["开始走", "开始走"],["确定开始", "确定开始"],["停止执行", "停止执行"],["是假的", "是假的"],["真的", "真的"],["我同意", "我同意"],["不可以", "不可以"],["温度", "温度"],["这是哪儿", "这是哪儿"],["现在几点", "现在几点"],["今天几号", "今天几号"],["读信息", "读信息"],["来个表情", "来个表情"],["往后退", "往后退"],["向前走", "向前走"],["向左转", "向左转"],["右转弯", "右转弯"],["暂停播放", "暂停播放"],["打开音乐", "打开音乐"],["关掉音乐", "关掉音乐"],["再听一次", "再听一次"],["再读一遍", "再读一遍"],["网络情况", "网络情况"],["断开连接", "断开连接"],["暂停程序", "暂停程序"],["let me go", "let me go"],["yes ok", "yes ok"],["stop", "stop"]]
                    }
                ],
                "tooltip": "请选择模块出厂设置的词组,当识别到相同的结果时执行，在“开启语音识别”块的后面使用并在同一运行块内",
                colour: QH_SPEECH_color4,
                extensions: ['output_boolean']
            });
        }
    };

    //红外遥控器接收
    Blockly.Blocks.QH_ir_re2 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ir_re2,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_REMOTE_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN1',
                        options: QH_IR_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [["电源Power", "1"],["Menu", "2"],["静音NOSound", "3"],["Mode", "4"],["+", "5"],["返回Back", "6"],["上一Prev", "7"],["启/停Start/stop", "8"],["下一Next", "9"],["0", "10"],["-", "11"],["OK", "12"],
["1", "13"],["2", "14"],["3", "15"],["4", "16"],["5", "17"],["6", "18"],["7", "19"],["8", "20"],["9","21"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [[Blockly.Msg.QH_IrPress,'0'],[Blockly.Msg.QH_IrPressOn,'1']]
                    }                    
                ],
                "tooltip": "对应摇控器的按键输入，注：红外遥控器的“发送” “接收”在一个程序内不能同时使用，只能二选一！",
                colour: QH_COMMUNICATE_color1,
                extensions: ['output_boolean']
            });
        }
    };
    //红外遥控器接收
    Blockly.Blocks.QH_ir_send_nec = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ir_send_nec,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_REMOTE_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [['RC5', 'RC5'],['NEC', 'NEC'],['Whynter', 'Whynter'],['Sony', 'Sony'],['RC6', 'RC6'],['DISH', 'DISH'],['SharpRaw', 'SharpRaw'],['SAMSUNG', 'SAMSUNG']]
                    },
                    {
                        type: 'input_value',
                        name: 'data'
                    },
                    {
                        type: 'input_value',
                        name: 'bits'
                    }                                  
                ],
                "tooltip": "发送指定类型的红外数据，注：红外遥控器的“发送” “接收”在一个程序内不能同时使用，只能二选一！",
                colour: QH_COMMUNICATE_color1,
                extensions: ['shape_statement']
            });
        }
    };
    //红外发射数组
    Blockly.Blocks.QH_ir_send_raw = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ir_send_raw,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_REMOTE_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'PIN',
                        options: [["#1", "1"],["#2", "2"],["#3", "3"],["#4", "4"],["#5", "5"],["#6", "6"],["#7", "7"],["#8", "8"],["#9", "9"],["#10", "10"],["#11", "11"],["#12", "12"],["#13", "13"],["#14", "14"],["#15", "15"],["#16", "16"]]
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT'
                    },
                    {
                        type: 'input_value',
                        name: 'length'
                    },
                    {
                        type: 'input_value',
                        name: 'freq'
                    }                                     
                ],
                "tooltip": "将读取到的红外数组放入这里发送，注意数组长度要对应长度，不同数组时要改变编号！",
                colour: QH_COMMUNICATE_color1,
                extensions: ['shape_statement']
            });
        }
    };
    //蓝牙接收数据
    Blockly.Blocks.QH_BT_START = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BT_START,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_BLUETOOTH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    
                ],
                "tooltip": "P5接口 放在循环内，上传程序时不要插模块 蓝牙APP上的滑动变量对应值,在“蓝牙变量”和“蓝牙按键”前使用",
                colour: QH_COMMUNICATE_color2,
                extensions: ['shape_statement']
            });
        }
    };
    //蓝牙按键
    Blockly.Blocks.QH_BT_button = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BT_button,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_BLUETOOTH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'TEXT',
                        "text": "U"
                    }                                    
                ],
                "tooltip": "P5接口 上传程序时不要插模块 接收到蓝牙模块在对应APP输入的按键设定字符值（APP发送格式为“,发送的字符.”）,\n在“启用蓝牙接收”后有效",
                colour: QH_COMMUNICATE_color2,
                extensions: ['output_boolean']
            });
        }
    };
     //蓝牙变量
    Blockly.Blocks.QH_BT_variable = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BT_variable,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_BLUETOOTH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["1", "1"],["2", "2"],["3", "3"],["4", "4"],["5", "5"]]
                    }                 
                ],
                "tooltip": "P5接口 上传程序时不要插模块 蓝牙APP上的滑动变量对应值,在“启用蓝牙接收”后有效",
                colour: QH_COMMUNICATE_color2,
                extensions: ['output_number']
            });
        }
    };
    //蓝牙发送变量
    Blockly.Blocks.QH_BT_print = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_BT_print,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_BLUETOOTH_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'N1'
                    },
                    {
                        type: 'input_value',
                        name: 'N2'
                    },                
                    {
                        type: 'input_value',
                        name: 'N3'
                    },
                    {
                        type: 'input_value',
                        name: 'N4'
                    },
                    {
                        type: 'input_value',
                        name: 'N5'
                    }
                ],
                "tooltip": "P5接口 上传程序时不要插模块 蓝牙APP V1~V5 显示变量对应值,可以为传感器值或字符串，注：重复发送要加延时间隔约30毫秒！",
                colour: QH_COMMUNICATE_color2,
                extensions: ['shape_statement']
            });
        }
    };
    //定义串口
    Blockly.Blocks.QH_serial_change = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_serial_change,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SERIAL_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"]]
                    }                 
                ],
                "tooltip": '当多串口使用时，控制器只能同时让一个串口工作，通过此块来转换软串口，在转换软串口设备前要用此块\n'
                                   +'只有一个串口设备时或不需要转换当前工作串口时不需要加此块',
                colour: QH_COMMUNICATE_color3,
                extensions: ['shape_statement']
            });
        }
    };
    //串口收到的数据等于
    Blockly.Blocks.QH_serial_jieshouzhi = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_serial_jieshouzhi,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SERIAL_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin1',
                        options: [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"],["P5 (R0-L1)", "5"]]
                    },
                    {
                        type: 'input_value',
                        name: 'text'
                    }                   
                ],
                "tooltip": "此为串口运行,直接将读到的值和设定值对比,相同时为真,可用于蓝牙等模块的通讯回读",
                colour: QH_COMMUNICATE_color1,
                extensions: ['output_boolean']
            });
        }
    };
    //串口发送
    Blockly.Blocks.QH_serial_fasong = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_serial_fasong,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SERIAL_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin1',
                        options: [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"],["P5 (R0-L1)", "5"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'OutputModel',
                        options: [[Blockly.Msg.QH_SERIAL_WRITE,'write'],[Blockly.Msg.QH_SERIAL_PRINT,'print'],[Blockly.Msg.QH_SERIAL_PRINTLN,'println']]
                    },
                    {
                        type: 'input_value',
                        name: 'text'
                    }                   
                ],
                "tooltip": "指定串口发送数值，如多串口设备运行，运行前要加“软串口定义到”块指令进行切换串口",
                colour: QH_COMMUNICATE_color1,
                extensions: ['shape_statement']
            });
        }
    };
    //串口接收
    Blockly.Blocks.QH_serial_jieshou = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_serial_jieshou,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SERIAL_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin1',
                        options: [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"],["P5 (R0-L1)", "5"]]
                    }                 
                ],
                "tooltip": "当串口有数据读时读取的值",
                colour: QH_COMMUNICATE_color1,
                extensions: ['output_number']
            });
        }
    };
    //串口有数据可读
    Blockly.Blocks.QH_serial_suju = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_serial_suju,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SERIAL_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin1',
                        options: [["P1 (R10-L11)", "1"],["P2 (R9-L3)", "2"],["P3 (R13-L12)", "3"],["P4 (R8-L2)", "4"],["P5 (R0-L1)", "5"]]
                    }                 
                ],
                "tooltip": "如果多串口设备使用先要“软串口定义到”，这个要配合后面“串口接收”一起使用，这个意思是当串口有可读数值时",
                colour: QH_COMMUNICATE_color1,
                extensions: ['output_boolean']
            });
        }
    };
    //MP3指定
    Blockly.Blocks.QH_MP3_bofangx = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MP3_bofangx,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'num'
                    },   
                    {
                        type: 'input_value',
                        name: 'num2'
                    }                    
                ],
                "tooltip": "播放顺序为复制到内存卡里的时间为先后排序,注:复制时按时间排序，然后对着第一个时间点右键复制到内存卡，此时会按时间排序！",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MP3音量
    Blockly.Blocks.QH_MP3_yingliang = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MP3_yingliang,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'num'
                    }                
                ],
                "tooltip": "MP3音量",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MP3重复播放
    Blockly.Blocks.QH_MP3_loopplay = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MP3_loopplay,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'num'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    }                
                ],
                "tooltip": "MP3重复播放",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MP3播放暂停
    Blockly.Blocks.QH_MP3_startpause = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MP3_startpause,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN22',
                        options: [[Blockly.Msg.QH_START, "1"], [Blockly.Msg.QH_PAUSE, "0"]]
                    }         
                ],
                "tooltip": "MP3播放暂停",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MP3上一首/下一首
    Blockly.Blocks.QH_MP3_previous_next = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MP3_previous_next,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'PIN22',
                        options: [[Blockly.Msg.QH_PREVIOUS, "0"], [Blockly.Msg.QH_NEXT, "1"]]
                    }         
                ],
                "tooltip": "MP3上一首/下一首",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //MP3播放音效
    Blockly.Blocks.QH_MP3_play = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_MP3_play,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options: [[(Blockly.Msg.QH_play1), "1"],[(Blockly.Msg.QH_play2), "2"],[(Blockly.Msg.QH_play3), "3"],[(Blockly.Msg.QH_play4), "4"],[(Blockly.Msg.QH_play5), "5"],[(Blockly.Msg.QH_play6), "6"],[(Blockly.Msg.QH_play7), "7"],[(Blockly.Msg.QH_play8), "8"],[(Blockly.Msg.QH_play9), "9"],[(Blockly.Msg.QH_play10), "10"],[(Blockly.Msg.QH_play11), "11"],[(Blockly.Msg.QH_play12), "12"],[(Blockly.Msg.QH_play13), "13"],[(Blockly.Msg.QH_play14), "14"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'num'
                    }           
                ],
                "tooltip": "MP3播放音效",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //定义PlayerMini目录
    Blockly.Blocks.QH_ESPuno_define_mp3_directory = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ESPuno_define_mp3_directory,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'data'
                    }           
                ],
                "tooltip": "使用批处理命令获取SD卡文件目录",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //playerMini指定播放
    Blockly.Blocks.QH_ESPuno_mp3_designated_play = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_ESPuno_mp3_designated_play,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_MP3_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'mode',
                        options: [[Blockly.Msg.QH_BOFANGX,"myQDPPlayer.play"], [Blockly.Msg.QH_LOOPPLAY,"myQDPPlayer.loop"]]
                    }, 
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    }, 
                    {
                        type: 'input_value',
                        name: 'num'
                    },
                    {
                        type: 'input_value',
                        name: 'NAME'
                    }         
                ],
                "tooltip": "指定文件名播放音频",
                colour: QH_MP3_color,
                extensions: ['shape_statement']
            });
        }
    };
    //数管显示
    Blockly.Blocks.QH_display = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SMG_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_OUTPUT_BOTH_PIN
                    }, 
                    {
                        type: 'field_dropdown',
                        name: 'pinn2',
                        options: QH_smgxs
                    }, 
                    {
                        type: 'input_value',
                        name: 'num'
                    }       
                ],
                "tooltip": "只能显示数字，选择auto时自动小数点，如果显示时钟时请选2位小数，其它数值如果选择了对应的小数位就一定要对应的小数位值，否则请选择auto自动",
                colour: QH_SMG_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //测试
    Blockly.Blocks.QH_displayoff = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_displayoff,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SMG_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_OUTPUT_BOTH_PIN
                    }    
                ],
                "tooltip": "关闭数码管",
                colour: QH_SMG_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-初始化
    Blockly.Blocks.oled_init = {
        init: function() {
            this.jsonInit({
              message0: '%1',
              message1: Blockly.Msg.oled_init, 
              args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
              args1: [
                {
                    type: 'field_dropdown',
                    name: 'OLED_TYPE',
                    options: [["SSD1306(128×64)", "SSD1306_128X64_NONAME"],["SSD1306(128×32)", "SSD1306_128X32_UNIVISION"],["SH1106(128×64)", "SH1106_128X64_NONAME"]]
                },
                {
                    type: 'input_value',
                    name: 'NAME'
                },
                {
                    type: 'field_dropdown',
                    name: 'ROTATION',
                    options: [[Blockly.Msg.QH_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[Blockly.Msg.QH_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[Blockly.Msg.QH_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[Blockly.Msg.QH_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[Blockly.Msg.QH_MIRROR,"U8G2_MIRROR"]]
                },
                {
                    type: 'field_dropdown',
                    name: 'SCL',
                    options: UNO_PIN
                },    
                {
                    type: 'field_dropdown',
                    name: 'SDA',
                    options: UNO_PIN
                },   
                {
                    type: 'input_value',
                    name: 'ADDRESS'
                }

              ],
              "tooltip": "显示-OLED-初始化",
              colour: QH_OLED_COLOR,
              extensions: ["shape_statement"]
            });
            this.setFieldValue("SCL", "SCL");
            this.setFieldValue("SDA", "SDA");
      }
    };
    //显示-OLED-刷新页面
    Blockly.Blocks.oled_page = {
        init: function() {
            this.jsonInit({
              message0: Blockly.Msg.oled_page,
              message1: "%1", // Statement
              args0: [
                {
                    type: 'field_image',
                    src: QH_OLED_ICO,
                    width: 30,
                    height: 30
                },
                {
                    type: 'input_value',
                    name: 'NAME'
                }
              ],
              args1: [
                {
                  "type": "input_statement",
                  "name": "DO"
                }
              ],
              "tooltip": "显示-OLED-刷新页面",
              colour: QH_OLED_COLOR,
              extensions: ["shape_statement"]
            });
      }
    };
    //显示-OLED-显示图像
    Blockly.Blocks.oled_showBitmap = {
        init: function() {
            this.jsonInit({
              message0: '%1',
              message1: Blockly.Msg.oled_showBitmap, 
              args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
              args1: [
                {
                    type: 'input_value',
                    name: 'NAME'
                },
                {
                    type: 'input_value',
                    name: 'START_X'
                },
                {
                    type: 'input_value',
                    name: 'START_Y'
                },
                {
                    type: 'input_value',
                    name: 'WIDTH'
                },
                {
                    type: 'input_value',
                    name: 'HEIGHT'
                },
                {
                    type: 'input_value',
                    name: 'bitmap_name'
                }

              ],
              "tooltip": "显示-OLED-显示图像",
              colour: QH_OLED_COLOR,
              extensions: ["shape_statement"]
            });
      }
    };
    //取模工具设置部分
    Blockly.Blocks.tool_modulus = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.tool_modulus,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'bitmap_formats',
                        options: [["阴码","1"],["阳码","2"]]
                    }, 
                    {
                        type: 'field_dropdown',
                        name: 'modulus_way',
                        options: [["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'modulus_direction',
                        options: [["顺向(高位在前)","1"],["逆向(低位在前)","2"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'hz_sharp',
                        options: [["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]
                    },    
                    {
                        type: 'input_value',
                        name: 'hz_line_height'
                    },
                    {
                        type: 'input_value',
                        name: 'bitmap_width'
                    },
                    {
                        type: 'input_value',
                        name: 'bitmap_height'
                    },
                    {
                        type: 'input_value',
                        name: 'input_data'
                    }
                ],
                "tooltip": "取模工具设置部分",
                colour: QH_OLED_COLOR,
                extensions: ['output_number']
            });
        }
    };
    //取模工具显示数据部分
    Blockly.Blocks.tool_modulus_show = {
        init: function() {
            this.jsonInit({
              message0: '%1',
              message1: Blockly.Msg.tool_modulus_show, 
              args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
              args1: [
                {
                    type: 'input_value',
                    name: 'VAR'
                },
                {
                    type: 'field_label_serializable',
                    name: 'x'
                },
                {
                    type: "field_checkbox",
                    name: "save_hz",
                    checked: true
                },
                {
                    type: 'input_value',
                    name: 'input_data'
                }
              ],
              "tooltip": "取模工具显示数据部分",
              colour: QH_OLED_COLOR,
              extensions: ["shape_statement"]
            });
      }
    };
    //OLED清屏
    Blockly.Blocks.oled_clear = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_clear,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    }      
                ],
                "tooltip": "OLED清屏",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //OLED背光亮度
    Blockly.Blocks.u8g2_setContrast = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.u8g2_setContrast,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'input_value',
                        name: 'Contrast'
                    }       
                ],
                "tooltip": "OLED背光亮度",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //OLED显示内置图片
    Blockly.Blocks.oled_face = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_face,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'input_value',
                        name: 'POS_X'
                    },
                    {
                        type: 'input_value',
                        name: 'POS_Y'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'FACE_IMAGE',
                        options:[
[{ 'src': QH_ANGRY_ICO, 'width': 35, 'height': 25, 'alt': 'Angry' }, 'Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_AWAKE_ICO, 'width': 35, 'height': 25, 'alt': 'Awake' }, 'Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_BLACK_EYE_ICO, 'width': 35, 'height': 25, 'alt': 'Black_eye' }, 'Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_BOTTOM_LEFT_ICO, 'width': 35, 'height': 25, 'alt': 'Bottom_left' }, 'Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'],
[{ 'src':QH_BOTTOM_RIGHT_ICO , 'width': 35, 'height': 25, 'alt': 'Bottom_right' }, 'Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src':QH_CRAZY1_ICO, 'width': 35, 'height': 25, 'alt': 'Crazy_1' }, 'Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_CRAZY2_ICO, 'width': 35, 'height': 25, 'alt': 'Crazy_2' }, 'Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_DISAPPOINTED_ICO, 'width': 35, 'height': 25, 'alt': 'Disappointed' }, 'Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_DIZZY_ICO, 'width': 35, 'height': 25, 'alt': 'Dizzy' }, 'Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_DOWN_ICO, 'width': 35, 'height': 25, 'alt': 'Down' }, 'Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_EVIL_ICO, 'width': 35, 'height': 25, 'alt': 'Evil' }, 'Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_HURT_ICO, 'width': 35, 'height': 25, 'alt': 'Hurt' }, 'Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_KNOCKED_OUT_ICO, 'width': 35, 'height': 25, 'alt': 'Knocked_out' }, 'Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_LOVE_ICO, 'width': 35, 'height': 25, 'alt': 'Love' }, 'Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_Middle_LEFT_ICO, 'width': 35, 'height': 25, 'alt': 'Middle_left' }, 'Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_Middle_RIGHT_ICO, 'width': 35, 'height': 25, 'alt': 'Middle_right' }, 'Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_NEUTRAL_ICO, 'width': 35, 'height': 25, 'alt': 'Neutral' }, 'Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_NUCLEAR_ICO, 'width': 35, 'height': 25, 'alt': 'Nuclear' }, 'Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_PINCH_LEFT_ICO, 'width': 35, 'height': 25, 'alt': 'Pinch_left' }, 'Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_PINCH_MIDDLE_ICO, 'width': 35, 'height': 25, 'alt': 'Pinch_middle' }, 'Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_PINCH_RIGHT_ICO, 'width': 35, 'height': 25, 'alt': 'Pinch_right' }, 'Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_TEAR_ICO, 'width': 35, 'height': 25, 'alt': 'Tear' }, 'Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_TIRED_LEFT_ICO, 'width': 35, 'height': 25, 'alt': 'Tired_left' }, 'Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_TIRED_MIDDLE_ICO, 'width': 35, 'height': 25, 'alt': 'Tired_middle' }, 'Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_TIRED_RIGHT_ICO, 'width': 35, 'height': 25, 'alt': 'Tired_right' }, 'Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_TOXIC_ICO, 'width': 35, 'height': 25, 'alt': 'Toxic' }, 'Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_UP_ICO, 'width': 35, 'height': 25, 'alt': 'Up' }, 'Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'],
[{ 'src': QH_WINKING_ICO, 'width': 35, 'height': 25, 'alt': 'Winking' }, 'Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00']]
                    }         
                ],
                "tooltip": "OLED显示内置图片",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画点
    Blockly.Blocks.oled_drawPixel = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawPixel,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'input_value',
                        name: 'POS_X'
                    },
                    {
                        type: 'input_value',
                        name: 'POS_Y'
                    }
                ],
                "tooltip": "显示-OLED-画点",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画线
    Blockly.Blocks.oled_drawLine = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawLine,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'input_value',
                        name: 'START_X'
                    },
                    {
                        type: 'input_value',
                        name: 'START_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'END_X'
                    },
                    {
                        type: 'input_value',
                        name: 'END_Y'
                    }     
                ],
                "tooltip": "显示-OLED-画线",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画直线
    Blockly.Blocks.oled_draw_Str_Line = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_draw_Str_Line,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'input_value',
                        name: 'START_X'
                    },
                    {
                        type: 'input_value',
                        name: 'START_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'LENGTH'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [[Blockly.Msg.QH_OLED_HOR, "H"],[Blockly.Msg.QH_OLED_VER, "V"]]
                    }   
                ],
                "tooltip": "显示-OLED-画直线",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画矩形
    Blockly.Blocks.oled_drawFrame = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawFrame,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [[Blockly.Msg.QH_OLED_HOLLOW, "drawFrame"],[Blockly.Msg.QH_OLED_SOLID, "drawBox"]]
                    },
                    {
                        type: 'input_value',
                        name: 'D0_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D0_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'WIDTH'
                    },
                    {
                        type: 'input_value',
                        name: 'HEIGHT'
                    }  
                ],
                "tooltip": "显示-OLED-画矩形",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画圆角矩形
    Blockly.Blocks.oled_drawRFrame = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawRFrame,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [[Blockly.Msg.QH_OLED_HOLLOW, "drawRFrame"],[Blockly.Msg.QH_OLED_SOLID, "drawRBox"]]
                    },
                    {
                        type: 'input_value',
                        name: 'D0_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D0_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'WIDTH'
                    },
                    {
                        type: 'input_value',
                        name: 'HEIGHT'
                    },
                    {
                        type: 'input_value',
                        name: 'RADIUS'
                    }    
                ],
                "tooltip": "显示-OLED-画圆角矩形",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画圆（空心，实心）
    Blockly.Blocks.oled_drawCircle = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawCircle,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [[Blockly.Msg.QH_OLED_HOLLOW, "drawCircle"],[Blockly.Msg.QH_OLED_SOLID, "drawDisc"]]
                    },
                    {
                        type: 'input_value',
                        name: 'D0_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D0_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'RADIUS'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'OPT',
                        options: [[Blockly.Msg.QH_OLED_WHOLE_CICILE, "U8G2_DRAW_ALL"],[Blockly.Msg.QH_OLED_UP_R, "U8G2_DRAW_UPPER_RIGHT"],[Blockly.Msg.QH_OLED_UP_L, "U8G2_DRAW_UPPER_LEFT"],[Blockly.Msg.QH_OLED_LOW_R, "U8G2_DRAW_LOWER_RIGHT"],[Blockly.Msg.QH_OLED_LOW_L, "U8G2_DRAW_LOWER_LEFT"]]
                    }    
                ],
                "tooltip": "显示-OLED-画圆（空心，实心）",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画椭圆（空心，实心）
    Blockly.Blocks.oled_drawEllipse = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawEllipse,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [[Blockly.Msg.QH_OLED_HOLLOW, "drawEllipse"],[Blockly.Msg.QH_OLED_SOLID, "drawFilledEllipse"]]
                    },
                    {
                        type: 'input_value',
                        name: 'D0_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D0_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'RADIUS_X'
                    },
                    {
                        type: 'input_value',
                        name: 'RADIUS_Y'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'OPT',
                        options: [[Blockly.Msg.QH_OLED_WHOLE_CICILE, "U8G2_DRAW_ALL"],[Blockly.Msg.QH_OLED_UP_R, "U8G2_DRAW_UPPER_RIGHT"],[Blockly.Msg.QH_OLED_UP_L, "U8G2_DRAW_UPPER_LEFT"],[Blockly.Msg.QH_OLED_LOW_R, "U8G2_DRAW_LOWER_RIGHT"],[Blockly.Msg.QH_OLED_LOW_L, "U8G2_DRAW_LOWER_LEFT"]]
                    }    
                ],
                "tooltip": "显示-OLED-画椭圆（空心，实心）",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示-OLED-画三角
    Blockly.Blocks.oled_drawTriangle = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.oled_drawTriangle,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_OLED_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'NAME'
                    },
                    {
                        type: 'input_value',
                        name: 'D0_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D0_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'D1_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D1_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'D2_X'
                    },
                    {
                        type: 'input_value',
                        name: 'D2_Y'
                    }
                    
                ],
                "tooltip": "显示-OLED-画三角",
                colour: QH_OLED_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //彩屏刷新显示
    Blockly.Blocks.QH_display_samll_refresh_display = {
        init: function() {
            this.jsonInit({
              message0: Blockly.Msg.QH_display_samll_refresh_display,
              message1: "%1", // Statement
              args0: [
                {
                    type: 'field_dropdown',
                    name: 'pinn',
                    options: QH_SOFTWARESERIAL_PIN
                }
              ],
              args1: [
                {
                  "type": "input_statement",
                  "name": "DO"
                }
              ],
              "tooltip": "屏坐标:X最大160，Y最大130",
              colour: QH_SDISPLAY_COLOR,
              extensions: [ "shape_statement"]
            });
      }
    };
    //横坚屏设置
    Blockly.Blocks.QH_display_samll_HV = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_HV,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [[(Blockly.Msg.QH_display_samll_HV0), "2"],[(Blockly.Msg.QH_display_samll_HV1), "3"],[(Blockly.Msg.QH_display_samll_HV2), "1"],[(Blockly.Msg.QH_display_samll_HV3), "0"]]
                    }       
                ],
                "tooltip": "横坚屏设置",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //屏亮度设置
    Blockly.Blocks.QH_display_samll_BL = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_BL,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_bl_1'
                    }      
                ],
                "tooltip": "屏亮度设置",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //小彩屏颜色刷屏
    Blockly.Blocks.QH_display_samll_clr = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_clr,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [[(Blockly.Msg.QH_display_samll_clr1), "CLR"],[(Blockly.Msg.QH_display_samll_clr2), "SBC"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_clr_1'
                    }      
                ],
                "tooltip": "颜色刷屏或背景颜色设置",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //默认图片显示
    Blockly.Blocks.QH_display_samll_flash_pic = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_flash_pic,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'Serial',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'HV',
                        options: [[(Blockly.Msg.QH_display_samll_HV11), "0"],[(Blockly.Msg.QH_display_samll_HV10), "1"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'model',
                        options: [[(Blockly.Msg.QH_display_samll_pic0), "0"],[(Blockly.Msg.QH_display_samll_pic1), "1"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'picNum',
                        options: [
                        [{ 'src': QH_JPG1, 'width': 30, 'height': 30, 'alt': '微笑' }, '0'],
                        [{ 'src': QH_JPG2, 'width': 30, 'height': 30, 'alt': '大笑' }, '1'],
                        [{ 'src': QH_JPG3, 'width': 30, 'height': 30, 'alt': '哭' }, '2'],
                        [{ 'src': QH_JPG4, 'width': 30, 'height': 30, 'alt': '怒' }, '3'],
                        [{ 'src': QH_JPG5, 'width': 30, 'height': 30, 'alt': '坏笑' }, '4'],
                        [{ 'src': QH_JPG6, 'width': 30, 'height': 30, 'alt': '眨眼' }, '5'],
                        [{ 'src': QH_JPG7, 'width': 30, 'height': 30, 'alt': '骂' }, '6'],
                        [{ 'src': QH_JPG8, 'width': 30, 'height': 30, 'alt': '憨笑' }, '7'],
                        [{ 'src': QH_JPG9, 'width': 30, 'height': 30, 'alt': '沉默' }, '8'],
                        [{ 'src': QH_JPG10, 'width': 30, 'height': 30, 'alt': '晕' }, '9'],
                        [{ 'src': QH_JPG11, 'width': 30, 'height': 30, 'alt': '伤心' }, '10'],
                        [{ 'src': QH_JPGLOGO, 'width': 30, 'height': 30, 'alt': 'LOGO' }, '11']
                        ]
                    }       
                ],
                "tooltip": "默认图片显示",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //图片显示
    Blockly.Blocks.QH_display_samll_pic = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_pic,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [[(Blockly.Msg.QH_display_samll_pic0), "0"],[(Blockly.Msg.QH_display_samll_pic1), "1"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pic_add'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pic_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pic_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pic_W'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pic_H'
                    }                               
                ],
                "tooltip": "图片显示",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //画点指令
    Blockly.Blocks.QH_display_samll_PS = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_PS,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_ps_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_ps_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_ps_colou'
                    }                              
                ],
                "tooltip": "画点指令",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //画线框指令
    Blockly.Blocks.QH_display_samll_PL = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_PL,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [[(Blockly.Msg.QH_display_samll_pl1), "PL"],[(Blockly.Msg.QH_display_samll_pl2), "BOX"],[(Blockly.Msg.QH_display_samll_pl3), "BOXF"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pl_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pl_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pl_X2'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pl_Y2'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_pl_colou'
                    }                              
                ],
                "tooltip": "画线框指令",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //画圆指令
    Blockly.Blocks.QH_display_samll_CIR = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_CIR,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [[(Blockly.Msg.QH_displayhollowround), "CIR"],[(Blockly.Msg.QH_displaysolidround), "CIRF"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_cir_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_cir_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_cir_R'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_cir_colou'
                    }                           
                ],
                "tooltip": "画圆指令",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示文本
    Blockly.Blocks.QH_display_samll_DC = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_DC,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["16", "16"],["24", "24"],["32", "32"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_colou'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_text'
                    }                         
                ],
                "tooltip": "显示文本",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示中文
    Blockly.Blocks.QH_display_samll_CN = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_CN,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["16", "16"],["24", "24"],["32", "32"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_colou'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_dc_text'
                    }                         
                ],
                "tooltip": "显示中文",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //显示带底色文本
    Blockly.Blocks.QH_display_samll_SBCDC = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_SBCDC,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["16", "16"],["24", "24"],["32", "32"]]
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_sbcdc_colou2'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_sbcdc_colou'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_sbcdc_X'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_sbcdc_Y'
                    },
                    {
                        type: 'input_value',
                        name: 'QDP_display_samll_sbcdc_text'
                    }                             
                ],
                "tooltip": "显示带底色文本",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //自定义指令
    Blockly.Blocks.QH_display_samll_order = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_order,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'input_value',
                        name: 'text'
                    }                          
                ],
                "tooltip": "自定义指令",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //波特率
    Blockly.Blocks.QH_display_samll_btl = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.QH_display_samll_btl,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options: QH_SOFTWARESERIAL_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["9600", "9600"],["115200", "115200"],["19200", "19200"],["5600", "5600"]]
                    }                          
                ],
                "tooltip": "设置屏的通讯波特率，注：非P5时只能用9600（出厂值），每次更改后要关电重启，不建议更改！",
                colour: QH_SDISPLAY_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //LCD初始化
    Blockly.Blocks.group_lcd_init2 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.group_lcd_init2,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options: [['1602', '16,2'], ['2004', '20,4']]
                    },
                    {
                        type: 'input_value',
                        name: 'VAR',
                        text: "mylcd"
                    },
                    {
                        type: 'input_value',
                        name: 'device',
                        text: "0x27"
                    },
                    {
                        type: 'field_dropdown',
                        name: 'SCL',
                        options: UNO_PIN
                    },
                    {
                        type: 'field_dropdown',
                        name: 'SDA',
                        options: UNO_PIN
                    }                           
                ],
                "tooltip": "LCD初始化",
                "inputsInline": false,
                colour:QH_LCD_COLOR,
                extensions: ['shape_statement']
            });
            this.setFieldValue("SCL", "SCL");
            this.setFieldValue("SDA", "SDA");
        }
    };
    //LCD打印
    Blockly.Blocks.group_lcd_print = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.group_lcd_print,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'VAR',
                        text: "mylcd"
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT',
                        text: "Line1"
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT2',
                        text: "Line2"
                    }                         
                ],
                "tooltip": "LCD打印",
                colour:QH_LCD_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //LCD打印2
    Blockly.Blocks.group_lcd_print2 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.group_lcd_print2,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'VAR'
                    },
                    {
                        type: 'input_value',
                        name: 'row'
                    },
                    {
                        type: 'input_value',
                        name: 'column'
                    },
                    {
                        type: 'input_value',
                        name: 'TEXT'
                    }                         
                ],
                "tooltip": "LCD打印2",
                colour:QH_LCD_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //LCD电源
    Blockly.Blocks.group_lcd_power = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.group_lcd_power,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_SDISPLAY_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'VAR'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'STAT',
                        options: [[Blockly.Msg.QH_ON, "display"], [Blockly.Msg.QH_OFF, "noDisplay"], [Blockly.Msg.QH_LCD_STAT_CURSOR, "cursor"], [Blockly.Msg.QH_LCD_STAT_NOCURSOR, "noCursor"], [Blockly.Msg.QH_LCD_STAT_BLINK, "blink"], [Blockly.Msg.QH_LCD_STAT_NOBLINK, "noBlink"], [Blockly.Msg.QH_LCD_STAT_CLEAR, "clear"], [Blockly.Msg.QH_LCD_NOBACKLIGHT, "noBacklight"], [Blockly.Msg.QH_LCD_BACKLIGHT, "backlight"]]
                    }                        
                ],
                "tooltip": "LCD初始化",
                colour:QH_LCD_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //掌控屏
    Blockly.Blocks.qdp_display_START = {
        init: function () {
            this.jsonInit({
                message0:  Blockly.Msg.qdp_display_START,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                "tooltip": "P5接口 上传程序时不要插模块 屏上的滑动变量对应值,在“屏按键”和“屏滑动变量”前使用",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //掌控屏按键
    Blockly.Blocks.qdp_display_button = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_display_button,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'TEXT'
                    }                       
                ],
                "tooltip": "P5接口 上传程序时不要插模块 接收到屏上对应输入的按键设定字符值（屏发送格式为“,发送的字符.”）,\n在“启用屏接收数据”后有效",
                colour:QH_ZKP_COLOR,
                extensions: ['output_boolean']
            });
        }
    };
    //读掌控屏变量
    Blockly.Blocks.qdp_display_variable = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_display_variable,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["1", "1"],["2", "2"],["3", "3"],["4", "4"],["5", "5"]]
                    }                       
                ],
                "tooltip": "P5接口 上传程序时不要插模块 屏上的滑动变量对应值,在“启用屏接收数据”后有效",
                colour:QH_ZKP_COLOR,
                extensions: ['output_number']
            });
        }
    };
    //发送变量到掌控屏
    Blockly.Blocks.qdp_display_print = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_display_print,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin',
                        options: [["1", "1"],["2", "2"],["3", "3"],["4", "4"],["5", "5"]]
                    },
                    {
                        type: 'input_value',
                        name: 'N1'
                    }                          
                ],
                "tooltip": "P5接口 上传程序时不要插模块 屏上V1~V5显示变量对应值,可以为传感器值或字符串，注：重复发送要加延时间隔约300毫秒！",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //睡眠控制
    Blockly.Blocks.qdp_zkpdisplay_sleep = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_sleep,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options: [[(Blockly.Msg.QH_displaysleep1), "1"],[(Blockly.Msg.QH_displaysleep0), "0"]]
                    }                         
                ],
                "tooltip": "进入睡眠后屏关闭,退出睡眠自动开启屏显.",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //睡眠控制
    Blockly.Blocks.qdp_zkpdisplay_buzzer = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_buzzer,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options: [["NOTE_C3", "131"],["NOTE_D3", "147"],["NOTE_E3", "165"],["NOTE_F3", "175"],["NOTE_G3", "196"],["NOTE_A3", "220"],["NOTE_B3", "247"],
           ["NOTE_C4", "262"],["NOTE_D4", "294"],["NOTE_E4", "330"],["NOTE_F4", "349"],["NOTE_G4", "392"],["NOTE_A4", "440"],["NOTE_B4", "494"],
           ["NOTE_C5", "532"],["NOTE_D5", "587"],["NOTE_E5", "659"],["NOTE_F5", "698"],["NOTE_G5", "784"],["NOTE_A5", "880"],["NOTE_B5", "988"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    }                         
                ],
                "tooltip": "屏蜂鸣器的发音频率及音量大小",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //颜色
    Blockly.Blocks.qdp_zkpdisplay_color = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_color,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin1',
                        options: [["RED","63488"],["BLUE","31"],["GRAY","33840"],["BLACK","0"],["WHITE","65535"],["GREEN","2016"],["BROWN","48192"],["YELLOW","65504"]]
                    }                     
                ],
                "tooltip": "常用颜色的选择",
                colour:QH_ZKP_COLOR,
                extensions: ['output_number']
            });
        }
    };
    //颜色刷屏
    Blockly.Blocks.qdp_zkpdisplay_clscolor = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_clscolor,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'num1'
                    }                         
                ],
                "tooltip": "全屏显示一个颜色（十进制颜色号）或采用颜色定义块",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //表情刷屏
    Blockly.Blocks.qdp_zkpdisplay_pic = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_pic,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options: [[(Blockly.Msg.QH_displaypic1),"0"],[(Blockly.Msg.QH_displaypic2),"1"],[(Blockly.Msg.QH_displaypic3),"2"],[(Blockly.Msg.QH_displaypic4),"3"],[(Blockly.Msg.QH_displaypic5),"4"],[(Blockly.Msg.QH_displaypic6),"5"],[(Blockly.Msg.QH_displaypic7),"6"],[(Blockly.Msg.QH_displaypic8),"7"],[(Blockly.Msg.QH_displaypic9),"16"]]
                    }                     
                ],
                "tooltip": "内存图片全屏显示",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //页面跳转
    Blockly.Blocks.qdp_zkpdisplay_page = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_page,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options:[[(Blockly.Msg.QH_displaypage1),"1"],[(Blockly.Msg.QH_displaypage2),"2"],[(Blockly.Msg.QH_displaypage3),"3"],[(Blockly.Msg.QH_displaypage4),"4"],[(Blockly.Msg.QH_displaypage5),"5"],[(Blockly.Msg.QH_displaypage6),"6"],[(Blockly.Msg.QH_displaypage7),"10"],[(Blockly.Msg.QH_displaypage8),"8"],[(Blockly.Msg.QH_displaypage9),"19"]]
                    }                     
                ],
                "tooltip": "跳转的指定的页面",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //画圆
    Blockly.Blocks.qdp_zkpdisplay_drawinground = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_drawinground,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options:[[(Blockly.Msg.QH_displaysolidround), "cirs"],[(Blockly.Msg.QH_displayhollowround), "cir"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num3'
                    },
                    {
                        type: 'input_value',
                        name: 'num4'
                    }                     
                ],
                "tooltip": "画圆工具，在屏上显示，设置中心点(X最大320,Y最大240)及半径颜色，可选择实心或空心",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //画线矩形区域填充
    Blockly.Blocks.qdp_zkpdisplay_function1 = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_function1,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pin2',
                        options:[[(Blockly.Msg.QH_displayfunction1line),"line"],[(Blockly.Msg.QH_displayfunction1draw),"draw"],[(Blockly.Msg.QH_displayfunction1fill),"fill"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num3'
                    },
                    {
                        type: 'input_value',
                        name: 'num4'
                    },
                    {
                        type: 'input_value',
                        name: 'num5'
                    }                      
                ],
                "tooltip": "画图工具，设置起点和终点/对角坐标的坐标值(X最大320,Y最大240)",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //文字信息
    Blockly.Blocks.qdp_zkpdisplay_TEXT = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_TEXT,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options:[[(Blockly.Msg.QH_displaybackcolor3), "3"],[(Blockly.Msg.QH_displaybackcolor0), "0"],[(Blockly.Msg.QH_displaybackcolor1), "1"],[(Blockly.Msg.QH_displaybackcolor2), "2"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num3'
                    },
                    {
                        type: 'input_value',
                        name: 'num4'
                    },
                    {
                        type: 'input_value',
                        name: 'num5'
                    },
                    {
                        type: 'input_value',
                        name: 'num6'
                    },
                    {
                        type: 'input_value',
                        name: 'text3'
                    }                            
                ],
                "tooltip": "在屏幕上指定的区域显示文字，XY为起始点，WH是区域的长和高",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //文字信息
    Blockly.Blocks.qdp_zkpdisplay_TEXT_CN = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_TEXT_CN,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'field_dropdown',
                        name: 'pinn',
                        options:[[(Blockly.Msg.QH_displaybackcolor3), "3"],[(Blockly.Msg.QH_displaybackcolor0), "0"],[(Blockly.Msg.QH_displaybackcolor1), "1"],[(Blockly.Msg.QH_displaybackcolor2), "2"]]
                    },
                    {
                        type: 'input_value',
                        name: 'num1'
                    },
                    {
                        type: 'input_value',
                        name: 'num2'
                    },
                    {
                        type: 'input_value',
                        name: 'num3'
                    },
                    {
                        type: 'input_value',
                        name: 'num4'
                    },
                    {
                        type: 'input_value',
                        name: 'num5'
                    },
                    {
                        type: 'input_value',
                        name: 'num6'
                    },
                    {
                        type: 'input_value',
                        name: 'text3'
                    }                            
                ],
                "tooltip": "在屏幕上指定的区域显示文字，XY为起始点，WH是区域的长和高",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //文字信息
    Blockly.Blocks.qdp_zkpdisplay_order = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                message1: Blockly.Msg.qdp_zkpdisplay_order,
                args0: [
                    {
                        type: 'field_image',
                        src: QH_ZKP_ICO,
                        width: 30,
                        height: 30
                    }
                ],
                args1: [
                    {
                        type: 'input_value',
                        name: 'text'
                    }                         
                ],
                "tooltip": "向屏幕发送测试指令，调试工程时用",
                colour:QH_ZKP_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //注释1
    Blockly.Blocks.qdp_annotation1 = {
        init: function () {
            this.jsonInit({
                message0: '// %1',
                args0: [
                    {
                        type: 'input_value',
                        name: 'data'
                    }   
                ],
                "tooltip": "注释用无特殊意义",
                colour:QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //注释2
    Blockly.Blocks.qdp_annotation2 = {
        init: function () {
            this.jsonInit({
                message0: '/* %1 */',
                message1: '%1',
                args0: [
                    {
                        type: 'input_value',
                        name: 'data'
                    }   
                ],
                args1: [
                    {
                      "type": "input_statement",
                      "name": "input"
                    }
                ],
                "tooltip": "注释用无特殊意义",
                colour:QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //变量
    Blockly.Blocks.QH_variables_declare = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.QH_variables_declare,
                args0: [
                    {
                        type: 'field_dropdown',
                        name: 'variables_type',
                        options:[[(Blockly.Msg.QH_global), "global_variate"],[(Blockly.Msg.QH_local), "local_variate"]]
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options:[[Blockly.Msg.QH_MATH_INT, 'int'],[Blockly.Msg.QH_MATH_UNSIGNED_INT, 'unsigned int'],[Blockly.Msg.QH_MATH_WORD, 'word'],[Blockly.Msg.QH_MATH_LONG, 'long'],[Blockly.Msg.QH_MATH_UNSIGNED_LONG, 'unsigned long'],[Blockly.Msg.QH_MATH_FLOAT, 'float'],[Blockly.Msg.QH_MATH_DOUBLE, 'double'],[Blockly.Msg.QH_MATH_BOOLEAN, 'boolean'],[Blockly.Msg.QH_MATH_BYTE, 'byte'],[Blockly.Msg.QH_MATH_CHAR, 'char'],[Blockly.Msg.QH_MATH_UNSIGNED_CHAR, 'unsigned char'],[Blockly.Msg.QH_MATH_STRING, 'String'],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]]
                    },
                    {
                        type: 'input_value',
                        name: 'VAR'
                    },
                    {
                        type: 'input_value',
                        name: 'VALUE'
                    }   
                ],
                "tooltip": "创建变量",
                colour:QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //变量get
    Blockly.Blocks.QH_variables_get = {
        init: function () {
            this.jsonInit({
                message0: '%1',
                args0: [
                    {
                        type: 'input_value',
                        name: 'VAR'
                    } 
                ],
                "tooltip": "获取变量",
                colour:QH_OTHER_COLOR,
                extensions: ['output_number']
            });
        }     
    };
    //变量set
    Blockly.Blocks.QH_variables_set = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.QH_variables_set,
                args0: [
                    {
                        type: 'input_value',
                        name: 'VAR'
                    },
                    {
                        type: 'input_value',
                        name: 'VALUE'
                    }  
                ],
                "tooltip": "设置变量",
                colour:QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }     
    };
    //变量++--
    Blockly.Blocks.QH_variables_change = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.QH_variables_change,
                args0: [
                    {
                        type: 'input_value',
                        name: 'VAR'
                    },
                    {
                        type: 'field_dropdown',
                        name: 'TYPE',
                        options:[['++', '++'],['- -', '--']]
                    }
                ],
                "tooltip": "设置变量",
                colour:QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }     
    };
    
    const repeatIconUrl = '';

    Blockly.Blocks.cooperativeScheduler_start = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.COOPERATIVESCHEDULER_START,
                args0: [],
                colour: QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }
    };

    Blockly.Blocks.cooperativeScheduler_setup = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.COOPERATIVESCHEDULER_SETUP,
                message1: '%1',
                message2: 'loop',
                message3: '%1',
                message4: '%1', // Icon
                lastDummyAlign4: 'RIGHT',
                args0: [{
                    type: 'input_value',
                    name: 'no'
                }],
                args1: [{
                    type: 'input_statement',
                    name: 'SUBSTACK'
                }],
                args2: [],
                args3: [{
                    type: 'input_statement',
                    name: 'SUBSTACK1'
                }],
                args4: [
                    {
                        type: 'field_image',
                        src: repeatIconUrl,
                        width: 24,
                        height: 24,
                        alt: '*',
                        flip_rtl: true
                    }
                ],
                colour: QH_OTHER_COLOR,
                extensions: ['shape_hat']
            });
            this.setNextStatement(false, null);
        }
    };

    Blockly.Blocks.cooperativeScheduler_sleep = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.COOPERATIVESCHEDULER_SLEEP,
                args0: [{
                    type: 'input_value',
                    name: 'time'
                }],
                colour: QH_OTHER_COLOR,
                extensions: ['shape_statement']
            });
        }
    };
    //算术运算符
    Blockly.Blocks.QH_arithmetic_operator = {
        init: function () {
            this.jsonInit({
                message0: '%1 %2 %3',
                args0: [
                  {
                      type: 'input_value',
                      name: 'NUM1'
                  },
                  {
                    type: 'field_dropdown',
                    name: 'OP',
                    options:[['+', '+'],['-', '-'],['*', '*'],['/', '/'],['%', '%']]
                  },
                  {
                      type: 'input_value',
                      name: 'NUM2'
                  },
                ],
                "tooltip": "算术运算符",
                colour: QH_OTHER_COLOR,
                extensions: ['output_number']
            });
        }
    };
    //关系运算符
    Blockly.Blocks.QH_relational_operator = {
        init: function () {
            this.jsonInit({
                message0: '%1 %2 %3',
                args0: [
                  {
                      type: 'input_value',
                      name: 'NUM1'
                  },
                  {
                    type: 'field_dropdown',
                    name: 'OP',
                    options:[[(Blockly.Msg.QH_EQU), '=='],[(Blockly.Msg.QH_NEQ), '!='],[(Blockly.Msg.QH_GTR), '>'],[(Blockly.Msg.QH_LSS), '<'],[(Blockly.Msg.QH_GEQ), '>='],[(Blockly.Msg.QH_LEQ), '<=']]
                  },
                  {
                      type: 'input_value',
                      name: 'NUM2'
                  },
                ],
                "tooltip": "关系运算符",
                colour: QH_OTHER_COLOR,
                extensions: ['output_boolean']
            });
        }
    };
    //位运算
    Blockly.Blocks.QH_bit_operator = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.QH_bit_operator,
                args0: [
                  {
                      type: 'input_value',
                      name: 'NUM1'
                  },
                  {
                    type: 'field_dropdown',
                    name: 'OP',
                    options:[[(Blockly.Msg.QH_AND), '&'],[(Blockly.Msg.QH_OR), '|'],[(Blockly.Msg.QH_XOR), '^'],[(Blockly.Msg.QH_SHIFT_R), '>>'],[(Blockly.Msg.QH_SHIFT_L)]]
                  },
                  {
                      type: 'input_value',
                      name: 'NUM2'
                  },
                ],
                "tooltip": "关系运算符\n\'&|^\': 位运算 \n举例:A & B A变量与B变量做位 与 运算\n \'<< >>\':移位运算符\n举例:A>>4 A变量右移4位.",
                colour: QH_OTHER_COLOR,
                extensions: ['output_number']
            });
        }
    };
    //约束
    Blockly.Blocks.QH_constrain = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.QH_constrain,
                args0: [
                  {
                    type: 'input_value',
                    name: 'VAR'
                  },
                  {
                      type: 'input_value',
                      name: 'MIN'
                  },
                  {
                      type: 'input_value',
                      name: 'MAX'
                  }
                ],
                "tooltip": "限制数值介于指定两个数之间",
                colour: QH_OTHER_COLOR,
                extensions: ['output_number']
            });
        }
    };
    //映射
    Blockly.Blocks.QH_map = {
        init: function () {
            this.jsonInit({
                message0: Blockly.Msg.QH_map,
                args0: [
                  {
                    type: 'input_value',
                    name: 'VAR'
                  },
                  {
                      type: 'input_value',
                      name: 'MIN1'
                  },
                  {
                      type: 'input_value',
                      name: 'MAX1'
                  },
                  {
                      type: 'input_value',
                      name: 'MIN2'
                  },
                  {
                      type: 'input_value',
                      name: 'MAX2'
                  }
                ],
                "tooltip": "将数值从一个区间映射到另一个区间,返回映射后的值.",
                colour: QH_OTHER_COLOR,
                extensions: ['output_number']
            });
        }
    };


    return Blockly;
}

exports = addBlocks;

